package com.gz.droolsrule.dao;

import com.gz.droolsrule.pojo.BaseRuleInfo;
import com.gz.droolsrule.pojo.BaseRulePropertyInfo;
import com.gz.droolsrule.pojo.BaseRulePropertyRelInfo;
import com.gz.droolsrule.pojo.BaseRuleSceneInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * ClassName: BaseRuleInfoMapper <br/>
 * Description: <br/>
 * date: 2019/5/29 16:40<br/>
 *
 * @author gz<br />
 * @since JDK 1.8
 */
@Mapper
public interface BaseRuleInfoMapper {
    /**
     * Date 2017/7/25
     * Author lihao [lihao@sinosoft.com.drools.rules]
     *
     * 方法说明: 查询规则信息集合
     * @param baseRuleInfo 参数
     */
    List<BaseRuleInfo> findBaseRuleInfoList(BaseRuleInfo baseRuleInfo);

    /**
     * Date 2017/7/25
     * Author lihao [lihao@sinosoft.com.drools.rules]
     *
     * 方法说明: 查询规则属性信息
     * @param baseRulePropertyInfo 参数
     */
    List<BaseRulePropertyInfo> findBaseRulePropertyInfoList(BaseRulePropertyInfo baseRulePropertyInfo);

    /**
     * Date 2017/7/25
     * Author lihao [lihao@sinosoft.com.drools.rules]
     *
     * 方法说明: 根据规则获取已经配置的属性信息
     * @param ruleId 参数
     */
    List<BaseRulePropertyRelInfo> findRulePropertyListByRuleId(@Param("ruleId") Long ruleId);

    /**
     * Date 2017/7/26
     * Author lihao [lihao@sinosoft.com.drools.rules]
     *
     * 方法说明: 根据场景获取对应的规则规则信息
     * @param baseRuleSceneInfo 参数
     */
    List<BaseRuleInfo> findBaseRuleListByScene(BaseRuleSceneInfo baseRuleSceneInfo);
}
